package com.ruoyi.demo.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 任务单各工序数量对象 mes_bind_task_station
 * 
 * @author metaee
 * @date 2025-05-16
 */
public class MesBindTaskStation extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private Long id;

    /** 工厂 */
    @Excel(name = "工厂")
    private String plant;

    /** 产品 */
    @Excel(name = "产品")
    private String product;

    /** MO */
    @Excel(name = "MO")
    private String mo;

    /** 旧MO(RMA返修换MO不换SN，多次返修会通过逗号分隔工单号) */
    @Excel(name = "旧MO(RMA返修换MO不换SN，多次返修会通过逗号分隔工单号)")
    private String oldMo;

    /** 机型 */
    @Excel(name = "机型")
    private String mtm;

    /** 产品小类(如NP52、NP56) */
    @Excel(name = "产品小类(如NP52、NP56)")
    private String miniType;

    /** 管理类型 */
    @Excel(name = "管理类型")
    private String managerType;

    /** 排产ID */
    @Excel(name = "排产ID")
    private Long dsId;

    /** 托盘ID(编号 + 流水码) */
    @Excel(name = "托盘ID(编号 + 流水码)")
    private String trayId;

    /** 任务单号(工单号+序号)/ SN */
    @Excel(name = "任务单号(工单号+序号)/ SN")
    private String taskCode;

    /** 线体 */
    @Excel(name = "线体")
    private String line;

    /** 上一站点 */
    @Excel(name = "上一站点")
    private String previousStation;

    /** 当前站点 */
    @Excel(name = "当前站点")
    private String currentStation;

    /** 任务单的总的生产数量 */
    @Excel(name = "任务单的总的生产数量")
    private Integer taskQty;

    /** 当前站点待生产数量 */
    @Excel(name = "当前站点待生产数量")
    private Integer qty;

    /** 本任务单累计报废的数量 */
    @Excel(name = "本任务单累计报废的数量")
    private Integer scrapQty;

    /** 上线时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "上线时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date buildStartTime;

    /** 下线时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "下线时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date buildDoneTime;

    /** 是否是维修品 0:否 1:是  */
    @Excel(name = "是否是维修品 0:否 1:是 ")
    private Integer repair;

    /** 成品库位-S4 */
    @Excel(name = "成品库位-S4")
    private String warehouse;

    /** 逻辑删除:  0:正常 1:已删除 */
    private Integer delFlag;

    /** 版本号 */
    @Excel(name = "版本号")
    private Integer version;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setPlant(String plant) 
    {
        this.plant = plant;
    }

    public String getPlant() 
    {
        return plant;
    }
    public void setProduct(String product) 
    {
        this.product = product;
    }

    public String getProduct() 
    {
        return product;
    }
    public void setMo(String mo) 
    {
        this.mo = mo;
    }

    public String getMo() 
    {
        return mo;
    }
    public void setOldMo(String oldMo) 
    {
        this.oldMo = oldMo;
    }

    public String getOldMo() 
    {
        return oldMo;
    }
    public void setMtm(String mtm) 
    {
        this.mtm = mtm;
    }

    public String getMtm() 
    {
        return mtm;
    }
    public void setMiniType(String miniType) 
    {
        this.miniType = miniType;
    }

    public String getMiniType() 
    {
        return miniType;
    }
    public void setManagerType(String managerType) 
    {
        this.managerType = managerType;
    }

    public String getManagerType() 
    {
        return managerType;
    }
    public void setDsId(Long dsId) 
    {
        this.dsId = dsId;
    }

    public Long getDsId() 
    {
        return dsId;
    }
    public void setTrayId(String trayId) 
    {
        this.trayId = trayId;
    }

    public String getTrayId() 
    {
        return trayId;
    }
    public void setTaskCode(String taskCode) 
    {
        this.taskCode = taskCode;
    }

    public String getTaskCode() 
    {
        return taskCode;
    }
    public void setLine(String line) 
    {
        this.line = line;
    }

    public String getLine() 
    {
        return line;
    }
    public void setPreviousStation(String previousStation) 
    {
        this.previousStation = previousStation;
    }

    public String getPreviousStation() 
    {
        return previousStation;
    }
    public void setCurrentStation(String currentStation) 
    {
        this.currentStation = currentStation;
    }

    public String getCurrentStation() 
    {
        return currentStation;
    }
    public void setTaskQty(Integer taskQty) 
    {
        this.taskQty = taskQty;
    }

    public Integer getTaskQty() 
    {
        return taskQty;
    }
    public void setQty(Integer qty) 
    {
        this.qty = qty;
    }

    public Integer getQty() 
    {
        return qty;
    }
    public void setScrapQty(Integer scrapQty) 
    {
        this.scrapQty = scrapQty;
    }

    public Integer getScrapQty() 
    {
        return scrapQty;
    }
    public void setBuildStartTime(Date buildStartTime) 
    {
        this.buildStartTime = buildStartTime;
    }

    public Date getBuildStartTime() 
    {
        return buildStartTime;
    }
    public void setBuildDoneTime(Date buildDoneTime) 
    {
        this.buildDoneTime = buildDoneTime;
    }

    public Date getBuildDoneTime() 
    {
        return buildDoneTime;
    }
    public void setRepair(Integer repair) 
    {
        this.repair = repair;
    }

    public Integer getRepair() 
    {
        return repair;
    }
    public void setWarehouse(String warehouse) 
    {
        this.warehouse = warehouse;
    }

    public String getWarehouse() 
    {
        return warehouse;
    }
    public void setDelFlag(Integer delFlag) 
    {
        this.delFlag = delFlag;
    }

    public Integer getDelFlag() 
    {
        return delFlag;
    }
    public void setVersion(Integer version) 
    {
        this.version = version;
    }

    public Integer getVersion() 
    {
        return version;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("plant", getPlant())
            .append("product", getProduct())
            .append("mo", getMo())
            .append("oldMo", getOldMo())
            .append("mtm", getMtm())
            .append("miniType", getMiniType())
            .append("managerType", getManagerType())
            .append("dsId", getDsId())
            .append("trayId", getTrayId())
            .append("taskCode", getTaskCode())
            .append("line", getLine())
            .append("previousStation", getPreviousStation())
            .append("currentStation", getCurrentStation())
            .append("taskQty", getTaskQty())
            .append("qty", getQty())
            .append("scrapQty", getScrapQty())
            .append("buildStartTime", getBuildStartTime())
            .append("buildDoneTime", getBuildDoneTime())
            .append("repair", getRepair())
            .append("warehouse", getWarehouse())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("delFlag", getDelFlag())
            .append("version", getVersion())
            .toString();
    }
}
